# Appendix H. Zmodem File Transfer

#### Contents:

Getting RZSZ
Sending and Receiving Files
Summary of rz and sz Options
Some Zmodem Usage Notes
Other Interesting Packages

The Zmodem protocol is a robust and fast data-transfer protocol. It includes 32-bit cyclic redundancy checking (CRC) to ensure error-free data transfer. On Unix platforms, the RZSZ package provides the dominant tools for implementing Zmodem protocols. Related protocols, such as Xmodem and Ymodem, are also supported by commands that are part of the RZSZ package.

These commands are available in the current RZSZ package:

`rz`

  Receives files using the Zmodem batch protocol. If the sending program doesn't send Zmodem protocol files within 50 seconds, `rz` switches to `rb` mode.

`rb`

  Receives files using the Ymodem or Ymodem-g protocol. `rb` is an alternative invocation for the `rz` command.

`rx`

  Receives a file using the Xmodem protocol.

`sz`

  Sends files using the Zmodem batch protocol.

`sb`

  Sends files using either the Ymodem or Ymodem-g protocol. `sb` is an alternative invocation for the `sz` command.

`sx`

  Sends a file using the Xmodem protocol.

`sz` provides automatic downloading in response to an incoming `rz` request, and `rz` automatically processes incoming Ymodem or Zmodem files. `sz` can also be used as a filter to send standard input to the receiving host.

The RZSZ tools display information about the file transfers, including projections of transmission time, incremental crash recovery, recognition of wildcard file-selection arguments, and user notification on completion of transfer. Because most popular PC terminal-emulation packages (Professional-YAM, ZCOMM, ProComm, Telix, and a host of others) support Zmodem transfer, the RZSZ package makes it simple to transfer files between Linux systems, MS-DOS, Macintosh, VMS, and other operating systems.

Interestingly, although some Linux distributions include the `sz` and `rz` commands, they may omit portions of the RZSZ package (including the manual pages). So we'll give you some FTP sites to get the whole package in the next section.

Most of the time, you won't need to use Xmodem or Ymodem, so we will restrict our discussion to the `sz` and `rz` features.

## H.1. Getting RZSZ

The RZSZ package isn't acknowledged as such in the Linux tools, which may mean that you won't find the whole package collected and compiled for Linux. However, we have found a number of FTP sites that carry the source, such as a subdirectory of NetBSD packages called lrzsz at ftp://ftp.cs.umn.edu.

The primary source for state-of-the-art RZSZ is ftp://ftp.cs.pdx.edu, maintained in directory /pub/zmodem by Chuck Forsberg of Omen Technology, Inc.

Omen Technology (http://www.omen.com) offers a hardcopy manual for its RZ/SZ package (as well as detailed documentation for the PC terminal-emulation package Professional-YAM) that you can buy if the manual pages seem insufficient. You can download these packages on a shareware basis (meaning you are expected to pay a small fee) from the web site. Technical support is offered for registered RZ/SZ users. Omen Technology reports that almost all technical support problems with RZ/SZ are caused by the network, OS kernel bugs, or problems with third-party programs, not the RZ/SZ code itself.

Copyright © 2001 O'Reilly & Associates. All rights reserved.